function insertionSort(arr) {
  var len = arr.length
  var preIndex, current
  for (var i = 1; i < len; i++) {
    preIndex = i - 1
    current = arr[i]
    while (preIndex >= 0 && arr[preIndex] > current) {
      arr[preIndex + 1] = arr[preIndex]
      preIndex--
    }
    arr[preIndex + 1] = current
  }
  return arr
}
const arr = [2, 1, 10, 8, 5, 4, 7.01, 3.3, 3, 9, 6, 0, -1, -2, 2 * 1, 3 * -1, 1 - 5, 2.13, 2.12]
console.log(insertionSort(arr));


// ** 原理：从数组的第二个和第一个比较，如果小于第一个则插入到第一个元素之前，否则不变
// 第三个一次和第二个第一个比, 如果小于第二个且大于第一个则插入第二个元素之前